home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 1 / Macwelt DVD 1.toast / Software für Mac-OS X / Entwickler-Tools / netbeans / modules / ext / djava.jar / koala / dynamicjava / interpreter / context / GlobalContext$PseudoClassLoader.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-03-14  |  3.6 KB  |  136 lines

  1. package koala.dynamicjava.interpreter.context;
  2.  
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.IOException;
  6. import java.util.Iterator;
  7. import java.util.List;
  8. import koala.dynamicjava.interpreter.TreeClassLoader;
  9. import koala.dynamicjava.parser.wrapper.ParserFactory;
  10. import koala.dynamicjava.parser.wrapper.SourceCodeParser;
  11. import koala.dynamicjava.tree.Node;
  12. import koala.dynamicjava.tree.TypeDeclaration;
  13. import koala.dynamicjava.util.ImportationManager;
  14. import koala.dynamicjava.util.LibraryFinder;
  15.  
  16. public class GlobalContext$PseudoClassLoader extends ClassLoader {
  17.    // $FF: synthetic field
  18.    private final GlobalContext this$0;
  19.  
  20.    protected Class findClass(String var1) throws ClassNotFoundException {
  21.       try {
  22.          if (this.this$0.getAdditionalClassLoader() != null) {
  23.             return Class.forName(var1, true, this.this$0.getAdditionalClassLoader());
  24.          }
  25.       } catch (ClassNotFoundException var15) {
  26.       }
  27.  
  28.       ClassLoader var2 = this.this$0.classLoader == null ? this.this$0.interpreter.getClassLoader() : this.this$0.classLoader;
  29.       if (var2 instanceof TreeClassLoader && ((TreeClassLoader)var2).hasDefined(var1)) {
  30.          GlobalContext.PseudoError var28 = new GlobalContext.PseudoError;
  31.          GlobalContext var34 = this.this$0;
  32.          if (var34 == null) {
  33.             throw null;
  34.          } else {
  35.             var28.<init>(var34);
  36.             throw var28;
  37.          }
  38.       } else {
  39.          TreeClassLoader var3 = (TreeClassLoader)this.this$0.interpreter.getClassLoader();
  40.          TypeDeclaration var4 = var3.getTree(var1);
  41.          if (var4 != null) {
  42.             ImportationManager var5 = (ImportationManager)var4.getProperty("importationManager");
  43.             GlobalContext.CompilationUnitVisitor var10000 = new GlobalContext.CompilationUnitVisitor;
  44.             GlobalContext var10002 = this.this$0;
  45.             if (var10002 == null) {
  46.                throw null;
  47.             }
  48.  
  49.             var10000.<init>(var10002, var1, var5);
  50.             GlobalContext.CompilationUnitVisitor var6 = var10000;
  51.             if (var4.acceptVisitor(var6).equals(Boolean.TRUE)) {
  52.                GlobalContext.PseudoError var27 = new GlobalContext.PseudoError;
  53.                var10002 = this.this$0;
  54.                if (var10002 == null) {
  55.                   throw null;
  56.                }
  57.  
  58.                var27.<init>(var10002);
  59.                throw var27;
  60.             }
  61.          }
  62.  
  63.          LibraryFinder var18 = this.this$0.interpreter.getLibraryFinder();
  64.  
  65.          try {
  66.             String var19 = var18.findCompilationUnitName(var1);
  67.             var4 = var3.getTree(var19);
  68.             if (var4 != null) {
  69.                ImportationManager var7 = (ImportationManager)var4.getProperty("importationManager");
  70.                GlobalContext.CompilationUnitVisitor var23 = new GlobalContext.CompilationUnitVisitor;
  71.                GlobalContext var29 = this.this$0;
  72.                if (var29 == null) {
  73.                   throw null;
  74.                }
  75.  
  76.                var23.<init>(var29, var1, var7);
  77.                GlobalContext.CompilationUnitVisitor var8 = var23;
  78.                if (var4.acceptVisitor(var8).equals(Boolean.TRUE)) {
  79.                   GlobalContext.PseudoError var26 = new GlobalContext.PseudoError;
  80.                   var29 = this.this$0;
  81.                   if (var29 == null) {
  82.                      throw null;
  83.                   }
  84.  
  85.                   var26.<init>(var29);
  86.                   throw var26;
  87.                }
  88.             }
  89.          } catch (ClassNotFoundException var14) {
  90.          }
  91.  
  92.          try {
  93.             File var20 = var18.findCompilationUnit(var1);
  94.             FileInputStream var21 = new FileInputStream(var20);
  95.             ParserFactory var22 = this.this$0.interpreter.getParserFactory();
  96.             SourceCodeParser var9 = var22.createParser(var21, var20.getCanonicalPath());
  97.             List var10 = var9.parseCompilationUnit();
  98.             Iterator var11 = var10.iterator();
  99.             GlobalContext.CompilationUnitVisitor var24 = new GlobalContext.CompilationUnitVisitor;
  100.             GlobalContext var30 = this.this$0;
  101.             if (var30 == null) {
  102.                throw null;
  103.             }
  104.  
  105.             var24.<init>(var30, var1);
  106.             GlobalContext.CompilationUnitVisitor var12 = var24;
  107.             boolean var13 = false;
  108.  
  109.             while(var11.hasNext()) {
  110.                if (Boolean.TRUE.equals(((Node)var11.next()).acceptVisitor(var12))) {
  111.                   var13 = true;
  112.                }
  113.             }
  114.  
  115.             if (var13) {
  116.                GlobalContext.PseudoError var25 = new GlobalContext.PseudoError;
  117.                var30 = this.this$0;
  118.                if (var30 == null) {
  119.                   throw null;
  120.                }
  121.  
  122.                var25.<init>(var30);
  123.                throw var25;
  124.             }
  125.          } catch (IOException var16) {
  126.          }
  127.  
  128.          throw new ClassNotFoundException(var1);
  129.       }
  130.    }
  131.  
  132.    GlobalContext$PseudoClassLoader(GlobalContext var1) {
  133.       this.this$0 = var1;
  134.    }
  135. }
  136.